package org.jeecg.modules.demo.summary.service;

import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.demo.decoration.entity.DecorationDeposit;
import org.jeecg.modules.demo.summary.entity.MonthlySummary;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.system.entity.SysRole;

/**
 * @Description: 月度汇总报表
 * @Author: jeecg-boot
 * @Date:   2024-04-02
 * @Version: V1.0
 */
public interface IMonthlySummaryService extends IService<MonthlySummary> {
    /**
     * 获取当前实体类
     * @param monthlySummary
     * @return
     */
    MonthlySummary getMonthlySummary(MonthlySummary monthlySummary);

    /**
     * 报表审核
     * @param monthlySummaryItem
     * @param user
     * @return
     */
    Result<String> shenheTable(MonthlySummary monthlySummaryItem, LoginUser user);

    /**
     * 拉取数据
     * @param monthlySummary
     * @return
     */
    boolean pullShujv(MonthlySummary monthlySummary);

    /**
     * 计算数据
     * @param monthlySummary
     * @return
     */
    boolean computedShujv(MonthlySummary monthlySummary);

    /**
     * 自动创建报表
     */
    void createMonthlySummaryValue();

    /**
     * 根据传入的用户ID得到该用户的角色对象
     * @param userId
     * @return
     */
    SysRole getRoleOfUser(String userId);

    /**
     *  查找当前小区下的物业经理ID
     * @param userId
     * @return
     */
    String selectLocalWyjlId(String userId);

    /**\
     * 查找当前小区的区域经理ID
     * @param userId
     * @return
     */
    String selectLocalQujlId(String userId);
    /**\
     * 查找当前小区的集团财务ID
     * @param userId
     * @return
     */
    String selectLocalJituancaiwuId(String userId);
    /**\
     * 查找当前小区的集团财务ID
     * @param userId
     * @return
     */
    String selectLocalJituankuaijiId(String userId);

    String selectLocalWuyezongjingliId(String userId);

}
